package com.chalk.model;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * 系统用户表(SysUser)实体类
 *
 * @author maxiaoqiang
 * @since 2019-03-22 17:35:28
 */
@ApiModel(value = "SysUser", description = "系统用户表")
@Data
@TableName("t_sys_user")
public class SysUser {

    /**
     * 用户id
     */
    @ApiModelProperty(name = "userId", value = "用户id")
    @TableId(type = IdType.ID_WORKER_STR)
    private String userId;


    /**
     * 商家id
     */
    @ApiModelProperty(name = "sellerId", value = "商家id")
    @TableField("seller_id")
    private String sellerId;


    /**
     * 门店id
     */
    @ApiModelProperty(name = "shopId", value = "门店id")
    @TableField("shop_id")
    private String shopId;

    /**
     * 门店名
     */
    @ApiModelProperty(name = "shopName", value = "商家名")
    @TableField(exist = false)
    private String shopName;
    /**
     * 企业名
     */
    @ApiModelProperty(name = "enterpriseName", value = "企业信息")
    @TableField(exist = false)
    private String enterpriseName;
    /**
     * 会员id
     */
    @ApiModelProperty(name = "memberId", value = "会员id")
    @TableField("member_id")
    private String memberId;

    /**
     * 用户名
     */
    @ApiModelProperty(name = "userName", value = "用户名")
    @TableField("user_name")
    private String userName;

    /**
     * 密码
     */
    @ApiModelProperty(name = "password", value = "密码")
    @TableField("password")
    private String password;

    /**
     * 真实姓名
     */
    @ApiModelProperty(name = "realName", value = "真实姓名")
    @TableField("real_name")
    private String realName;

    /**
     * email
     */
    @ApiModelProperty(name = "email", value = "email")
    @TableField("email")
    private String email;

    /**
     * 手机
     */
    @ApiModelProperty(name = "mobilePhone", value = "手机")
    @TableField("mobile_phone")
    private String mobilePhone;

    /**
     * 电话
     */
    @ApiModelProperty(name = "telPhone", value = "电话")
    @TableField("tel_phone")
    private String telPhone;

    /**
     * 最近登陆时间
     */
    @ApiModelProperty(name = "lastLoginTime", value = "最近登陆时间")
    @TableField("last_login_time")
    private Date lastLoginTime;

    /**
     * 登录失败时间
     */
    @ApiModelProperty(name = "lastLoginFailTime", value = "登录失败时间")
    @TableField("last_login_fail_time")
    private Date lastLoginFailTime;

    /**
     * 登录锁定状态(1：表示锁定、0：表示解锁)
     */
    @ApiModelProperty(name = "loginLockStatus", value = "登录锁定状态(1：表示锁定、0：表示解锁)")
    @TableField("login_lock_status")
    private Integer loginLockStatus;

    /**
     * 登录失败次数（3次）
     */
    @ApiModelProperty(name = "lastLoginFailCount", value = "登录失败次数（3次）")
    @TableField("last_login_fail_count")
    private Integer lastLoginFailCount;

    /**
     * 备注
     */
    @ApiModelProperty(name = "memo", value = "备注")
    @TableField("memo")
    private String memo;

    /**
     * 账户是否可用（1、可用，0、不可用，默认1）
     */
    @ApiModelProperty(name = "isAvailable", value = "账户是否可用（1、可用，0、不可用，默认1）")
    @TableField("is_available")
    private Integer isAvailable;

    /**
     * 是否已删除（逻辑删除，1、已删除，0、未删除，默认0）
     */
    @ApiModelProperty(name = "isDelete", value = "是否已删除（逻辑删除，1、已删除，0、未删除，默认0）")
    @TableField("is_delete")
    private Integer isDelete;

    /**
     * 创建时间
     */
    @ApiModelProperty(name = "createTime", value = "创建时间")
    @TableField("create_time")
    private Date createTime;

    /**
     * 更新时间
     */
    @ApiModelProperty(name = "updateTime", value = "更新时间")
    @TableField("update_time")
    private Date updateTime;

    /**
     * 操作人类型（0、系统自动操作，1、平台人员操作，2、商家人员操作，3、会员操作）
     */
    @ApiModelProperty(name = "operatorType", value = "操作人类型（0、系统自动操作，1、平台人员操作，2、商家人员操作，3、会员操作）")
    @TableField("operator_type")
    private Integer operatorType;

    /**
     * 操作人id（根据操作人类型会对应不同的表记录）
     */
    @ApiModelProperty(name = "operatorId", value = "操作人id（根据操作人类型会对应不同的表记录）")
    @TableField("operator_id")
    private String operatorId;

    /**
     * 省级
     */
    @ApiModelProperty(name = "province", value = "省级")
    @TableField("province")
    private Long province;

    /**
     * 市级
     */
    @ApiModelProperty(name = "city", value = "市级")
    @TableField("city")
    private Long city;

    /**
     * 区级
     */
    @ApiModelProperty(name = "county", value = "区级")
    @TableField("county")
    private Long county;

    @ApiModelProperty(name = "site", value = "地址")
    @TableField("site")
    private String site;

    @ApiModelProperty(name = "neid", value = "企业id")
    @TableField("neid")
    private String neid;

    @ApiModelProperty(name = "roleId", value = "角色id")
    @TableField("role_id")
    private String roleId;


    @ApiModelProperty(name = "venueId", value = "场馆id")
    @TableField("venue_id")
    private Integer venueId;
}